<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Paulo
 */
interface IFachada {

//Metodos referente ao controle de Usuario.
    public function cadastrarUsuario($usuario);
    public function localizarUsuario($codigo, $nome, $login);
    public function atualizarUsuario($usuario);
    public function excluirUsuario($codUsuario);
    public function meusPosts($login);
    public function meusTopicos($login);

    //Metodos referentes a exibição de menssagens.
    public function exibirMenssagemErro($msg);
    public function exibirMenssagem($msg);

    //Metodos referente a validação dos dados.
    public function validaImagem($texto, $imagem);
    public function validarEmail($email);
    public function validarLogin($login);
    public function validarRazao($razao);
    public function validarSenha($senha);
    public function validarCpf($cpf);
    public function validarCnpj($cnpj);

    public function verificarEmail($email);
    public function verificarLogin($login);
    public function verificarCpf($cpf);
    public function verificarCnpj($cnpj);
    public function verificarRazao($razao);

    public function validarCampos($nome,$email,$login,$senha,$cpf,$cnpj,$razaoSocial);
    public function validarUsuario($usuario);

    public function cadastrarEmailNewsLetter($email);
    public function removerEmailNewsLetter($email);
    public function verificarEmailNewsLetter($email);
    public function enviarNewsLetter($newsLetter);

    //Metodos referente ao controle das enquetes
    public function cadastrarEnquete($enquete);
    public function localizarEnquete($codigo,$titulo);
    public function atualizarEnquete($enquete);
    public function removerEnquete($codigo);
    public function enqueteAtual();
    public function votarOpcao1($titulo);
    public function votarOpcao2($titulo);
    public function votarOpcao3($titulo);

    //Metodos referentes ao controle das oportunidades de emprego
    public function cadastrarOportunidadeEmprego($oportunidadeEmprego);
    public function localizarOportunidadeEmprego($codigo,$titulo);
    public function atualizarOportunidadeEmprego($oportunidadeEmprego);
    public function removerOportunidadeEmprego($codigo,$titulo);
    public function listarOportunidades();

    //Metodos referentes ao controle das noticias
    public function cadastrarNoticia($noticia);
    public function localizarNoticia($codNoticia,$titulo);
    public function atualizarNoticia($noticia);
    public function removerNoticia($codNoticia);
    public function noticiasRecentes();
    public function mostrarNoticias();
    public function carregarNoticia($id);

    //Metodos referentes ao controle do forum.
    public function listarForuns();
    public function listarAssuntos($forum);
    public function listarTopicos($assunto);
    public function exibirTopico($topico);
    public function listarRespostas($topico);
    public function cadastrarPost($novoPost);
    public function cadastrarAssunto($assunto, $forum);
    public function recuperarCodigoAssunto($assunto);
    public function verificarExistenciaAssunto($assunto);
    public function cadastrarTopico($novoTopico);
    public function topicosRecentes();

    //Metodos relacionados a Artigo
    public function cadastrarArtigo($artigo);
    public function exibirArtigosPendentes();
    public function carregarArtigo($id);
    public function removerArtigo($id); //Este método remove um Artigo
    public function validarArtigo($id); //Este método valida um Artigo]
    public function filtrarPorAssunto($assunto);

    //Metodos referentes ao Banner
    public function cadastrarBanner($banner);

    public function localizarBanner($codigo,$cliente);

    public function atualizarBanner($banner);

    public function removerBanner($codigo);

    public function mostrarBanner();


}
?>
